import 'package:flutter/material.dart';
//import 'package:ijkplayer4flutter/ijkplayer4flutter.dart';

//import 'package:ijkplayer/flutter_ijkplayer.dart';
//import 'package:after_layout/after_layout.dart';
//
//class PushPage extends StatefulWidget {
//  @override
//  State<StatefulWidget> createState() {
//    // TODO: implement createState
//    return PushPageState();
//  }
//}
//
//class PushPageState extends State<PushPage> with AfterLayoutMixin<PushPage> {
//  PiliPlayerController _playerController;
//  bool _flag = false;
//
//  @override
//  void initState() {
//    // TODO: implement initState
//
//    //print(ss);
//    super.initState();
//  }
//
//  @override
//  void dispose() {
//    // TODO: implement dispose
//    _playerController.dispose();
//    super.dispose();
//  }
//
//  @override
//  void afterFirstLayout(BuildContext context) {
//    // TODO: implement afterFirstLayout
//    setState(() {
//      _flag = true;
//    });
//  }
//
//  void _onPlayerCreated(PiliPlayerController controller) {
//    _playerController = controller;
//    //_playerController.setBufferingEnabled(flag)
//  }
//
//  // public static final int OPT_CATEGORY_FORMAT = 1;
//  // public static final int OPT_CATEGORY_CODEC = 2;
//  // public static final int OPT_CATEGORY_SWS = 3;
//  // public static final int OPT_CATEGORY_PLAYER = 4;
//  @override
//  Widget build(BuildContext context) {
//    return Scaffold(
//      appBar: AppBar(
//        title: Text("Video"),
//      ),
//      body: Container(
//        child: Column(
//          children: <Widget>[
//            Container(
//              width: double.infinity,
//              height: 250,
//              color: Color(0xFF000000),
//              child: PiliPlayer(
////                url: "rtmp://202.69.69.180:443/webcast/bshdlive-pc",
//                url: "http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4",
//                onPlayerCreated: _onPlayerCreated,
//                auto: true,
//                isLive: true,
//                options: {
//                  "4": {"start-on-prepared": "0", "enable-accurate-seek": "1"},
//                  "1": {"analyzemaxduration": "100"},
//                },
//              ),
//            ),
//            RaisedButton(
//              onPressed: () {
//                _playerController.play();
//              },
//              child: Center(
//                child: Text("play"),
//              ),
//            )
//          ],
//        ),
//      ),
//    );
//  }
//}

//import 'package:flutter/material.dart';
//import 'package:flutter_ijk/flutter_ijk.dart';
//
//class VideoPage extends StatefulWidget {
//  VideoPage();
//
//  @override
//  State<StatefulWidget> createState() {
//    return VideoPageState();
//  }
//}
//
//class VideoPageState extends State<VideoPage> {
//  IjkPlayerController _controller;
//
//  @override
//  void initState() {
//    super.initState();
//      _controller = IjkPlayerController.network("rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov")
//    // _controller = IjkPlayerController.asset("video/big_buck_bunny.mp4")
////    _controller = IjkPlayerController.network(
////        "rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp")
//      ..initialize().then((_) {
//        setState(() {});
//        _controller.play();
//      });
//  }
//
//  @override
//  Widget build(BuildContext context) {
//    return Scaffold(
//      appBar: AppBar(
//        title: Text('rtmp播放'),
//      ),
//      body: _controller == null
//          ? Container()
//          : Center(
//              child: _controller.value.initialized
//                  ? AspectRatio(
//                      aspectRatio: _controller.value.aspectRatio,
//                      child: IjkPlayer(_controller,),
//                    )
//                  : Container(),
//            ),
//    );
//  }
//
//  @override
//  void dispose() {
//    if(_controller!=null){
//      _controller.dispose();
//    }
//  }
//
//
//}

//class PlayerDemo extends StatefulWidget {
//  PlayerDemo(this.dataSource, {Key key}) : super(key: key);
//
//  final String dataSource;
//
//  @override
//  State<StatefulWidget> createState() {
//    return new _PlayerDemoState(dataSource);
//  }
//}
//
//class _PlayerDemoState extends State<PlayerDemo> {
//  final DataSourceType dataSourceType;
//  final String dataSource;
//
//  IjkPlayer _ijkPlayer;
//  Controller _controller;
//
//  bool isBarVisiable;
//
//  _PlayerDemoState(this.dataSource) : dataSourceType = DataSourceType.network;
//
//  @override
//  void initState() {
//    super.initState();
//
//    isBarVisiable = true;
//
//    _controller = new Controller();
//
//    _ijkPlayer = IjkPlayer(dataSource);
//    _controller.bind(_ijkPlayer);
//  }
//
//  @override
//  void dispose() {
//    _controller.dispose();
//
//    super.dispose();
//  }
//
//  @override
//  Widget build(BuildContext context) {
//    Size screenSize = MediaQuery
//        .of(context)
//        .size;
//
//    return new Scaffold(
//      appBar: new AppBar(
//        title: new Text('RTMP直播'),
//      ),
//      body: Center(
//        child: Container(
//          height: 240,
//          width: screenSize.width,
//          child: GestureDetector(
//            onTap: () {
//              setState(() {
//                isBarVisiable = !isBarVisiable;
//              });
//            },
//            child: _ijkPlayer,
//          ),
//        ),
//      ),
//    );
//  }
//
//}
//
//class Controller {
//  IjkPlayer ijkPlayer;
//
//  bind(IjkPlayer ijkPlayer) {
//    this.ijkPlayer = ijkPlayer;
//  }
//
//  bool isPlaying() {
//    return ijkPlayer.isPlaying();
//  }
//
//  ///after dispose,all call will be useless
//  dispose() {
//    ijkPlayer = null;
//  }
//
//  play() {
//    if (ijkPlayer != null) {
//      ijkPlayer.play();
//    }
//  }
//
//  pause() {
//    if (ijkPlayer != null) {
//      ijkPlayer.pause();
//    }
//  }
//
//  setVolume(double volume) {
//    if (ijkPlayer != null) {
//      ijkPlayer.setVolume(volume);
//    }
//  }
//
//  setLooping(bool looping) {
//    if (ijkPlayer != null) {
//      ijkPlayer.setLooping(looping);
//    }
//  }
//
//  playerSeekTo(Duration moment) {
//    if (ijkPlayer != null) {
//      ijkPlayer.playerSeekTo(moment);
//    }
//  }
//}
//
//class VideoBottomBar extends StatefulWidget {
//  Controller _controller;
//
//  VideoBottomBar(this._controller);
//
//  @override
//  State createState() {
//    return _VideoBottomBarState(_controller);
//  }
//}
//
//class _VideoBottomBarState extends State<VideoBottomBar> {
//  Controller _controller;
//
//  _VideoBottomBarState(this._controller);
//
//  bool isPlaying = false;
//
//  double _duration = 0;
//  double _position = 0;
//
//  bool onDrag = false;
//
//  String _duration_s = '00:00';
//  String _position_s = '00:00';
//
//  @override
//  void initState() {
//    super.initState();
//    _controller.ijkPlayer.addValueListener(
//          (VideoPlayerValue value) {
//        print("PlayerValueCallback");
//        print("isPlaying?" + value.isPlaying.toString());
//        if (isPlaying != value.isPlaying) {
//          setState(() {
//            isPlaying = value.isPlaying;
//          });
//        }
//      },
//    );
//    _controller.ijkPlayer.addPositionListener((PlayerPositionValue value) {
////              print("positionX:"+value.position.toString().split("\\\.")[0]);
////              print("positionX:"+value.position.toString().split("\\\.")[1]);
//      print("positionX:" + value.position.toString().split(".").toString());
//
//      if ((_position != value.position.inSeconds.toDouble()) && !onDrag) {
//        setState(() {
//          _position = value.position.inSeconds.toDouble();
//
////                  _position_s = value.position.inHours.toString()+":"
////                      +value.position.inMinutes.toString()+":"
////                      +value.position.inSeconds.toString();
//          _position_s = value.position.toString().split(".")[0];
////                  _position_s;
//        });
//      }
//      if (_duration != value.duration.inSeconds.toDouble()) {
//        setState(() {
//          _duration = value.duration.inSeconds.toDouble();
//
////                  _duration_s = value.duration.inHours.toString()+":"
////                      +value.duration.inMinutes.toString()+":"
////                      +value.duration.inSeconds.toString();
//
//          _duration_s = value.duration.toString().split(".")[0];
//        });
//      }
//    });
//  }
//
//  @override
//  Widget build(BuildContext context) {
//    return Row(
//      mainAxisSize: MainAxisSize.max,
//      mainAxisAlignment: MainAxisAlignment.start,
//      children: <Widget>[
//        Expanded(
//          flex: 1,
//          child: Center(
//            child: Text(
//              _position_s,
//              style: new TextStyle(
//                fontSize: 10.0,
//                fontFamily: 'serif',
//                color: Colors.white,
//              ),
//            ),
//          ),
//        ),
//        Expanded(
//          flex: 1,
//          child: buildPauseBt(),
//        ),
//        Expanded(
//          flex: 3,
//          child: Container(
//            width: 120,
//            child: Slider(
//              max: _duration,
//              min: 0,
//              value: _position,
//              onChangeStart: (double value) {
//                onDrag = true;
//              },
//              onChangeEnd: (double value) {
//                onDrag = false;
//                _controller.playerSeekTo(Duration(seconds: _position.floor()));
//              },
//              onChanged: (double value) {
//                setState(() {
//                  _position = value;
//                });
//              },
//            ),
//          ),
//        ),
//        Expanded(
//          flex: 1,
//          child: Center(
//            child: Text(
//              _duration_s,
//              style: new TextStyle(
//                fontSize: 10.0,
//                fontFamily: 'serif',
//                color: Colors.white,
//              ),
//            ),
//          ),
//        ),
//        Expanded(
//          flex: 1,
//          child: FlatButton(
//            child: Image.asset(
//              "image/ic_fullscreen.png",
//              height: 20,
//              width: 20,
//            ),
//            onPressed: () => {},
//          ),
//        ),
//      ],
//    );
//  }
//
//  buildPauseBt() {
//    return Stack(
//      children: <Widget>[
//        Offstage(
//          offstage: isPlaying,
//          child: FlatButton(
//            child: Image.asset(
//              "image/ic_video_play.png",
//              height: 20,
//              width: 20,
//            ),
//            onPressed: () {
//              _controller.play();
//            },
//          ),
//        ),
//        Offstage(
//          offstage: !isPlaying,
//          child: FlatButton(
//            child: Image.asset(
//              "image/ic_video_pause.png",
//              height: 20,
//              width: 20,
//            ),
//            onPressed: () {
//              _controller.pause();
//            },
//          ),
//        ),
//      ],
//    );
//  }
//}
//
//class VideoTopBar extends StatefulWidget {
//  @override
//  State createState() {
//    return _VideoTopBarState();
//  }
//}
//
//class _VideoTopBarState extends State<VideoTopBar> {
//  @override
//  Widget build(BuildContext context) {
//    return Row(
//      mainAxisSize: MainAxisSize.max,
//      mainAxisAlignment: MainAxisAlignment.start,
//      children: <Widget>[
//        Expanded(
//          flex: 1,
//          child: FlatButton(
//            child: Image.asset(
//              "image/ic_return_back.png",
//              height: 20,
//              width: 20,
//            ),
//            onPressed: () => {},
//          ),
//        ),
//        Expanded(
//          flex: 4,
//          child: Text(
//            "title",
//            style: new TextStyle(
//              fontSize: 20.0,
//              fontFamily: 'serif',
//              color: Colors.white,
//            ),
//          ),
//        ),
////        Text(
////          "title",
////          style: new TextStyle(
////            fontSize: 20.0,
////            fontFamily: 'serif',
////            color: Colors.white,
////          ),
////        ),
//      ],
//    );
//  }
//}
